package github.ziwukun.jsonql.lang;

import cn.hutool.json.JSONObject;

class PropSortJson {
	
	
	static String writeJson(PropSortImpl propSort) {
		JSONObject json = new JSONObject();
		//值类型是JsonQLSortSymbol枚举
		if(propSort.val instanceof SortSym) {
			SortSym sortSymbol = (SortSym)propSort.val;
			json.set(propSort.prop, sortSymbol.atWord());
		}
		//值类型是JsonQLSort
		else if(propSort.val instanceof Sort){
			Sort subSortItem = (Sort)propSort.val;
			json.set(propSort.prop, new JSONObject(subSortItem.toJSONQL()));
		}
		//位置的值类型，合理使用API不会进入此逻辑
		else {
			throw new RuntimeException("错误的value类型");
		}
		return json.toString();
	}
}
